using System.ComponentModel;

namespace Tequila.AugmentedReality.Data
{
    public class CompassPoi : INotifyPropertyChanged
    {       
        private readonly PropertyChangedEventArgs _isInFovPCEA = new PropertyChangedEventArgs("IsInFov");
        private readonly PropertyChangedEventArgs _xPCEA = new PropertyChangedEventArgs("X");
        private readonly PropertyChangedEventArgs _yPCAE = new PropertyChangedEventArgs("Y");
        private readonly PropertyChangedEventArgs _isVisiblePCEA = new PropertyChangedEventArgs("IsVisible");

        public event PropertyChangedEventHandler PropertyChanged = delegate { };

        private bool _isInFov;
        public bool IsInFov
        {
            get { return _isInFov; }
            set
            {
                if (_isInFov != value)
                {
                    _isInFov = value;
                    PropertyChanged(this, _isInFovPCEA);
                }
            }
        }

        private double _x;
        public double X
        {
            get { return _x; }
            set
            {
                _x = value;
                PropertyChanged(this, _xPCEA);
            }
        }

        private double _y;
        public double Y
        {
            get { return _y; }
            set
            {
                _y = value;
                PropertyChanged(this, _yPCAE);
            }
        }

        private bool _isVisible;
        public bool IsVisible
        {
            get { return _isVisible; }
            set
            {
                if (_isVisible != value)
                {
                    _isVisible = value;
                    PropertyChanged(this, _isVisiblePCEA);
                }
            }
        }

    }
}